package com.swq.java.code.chapter09.code07;

import com.swq.java.code.chapter09.code08.SpecialException;

/**
 * 由于Java虚拟机方法调用栈的机制
 * 让虚拟机根据检索调用栈来处理异常会有性能开销
 * 所以不要用异常来处理逻辑
 * 尽量在自己的方法内解决异常
 */
public class Sample{
  public void methodA(int money)throws SpecialException {
    if(--money<=0) throw new SpecialException("Out of money");
    System.out.println("methodA");
  }
  public void methodB(int money) throws SpecialException{
    methodA(money);
    System.out.println("methodB");
  }
  public static void main(String args[])throws SpecialException{
    new Sample().methodB(1);
  }
}